<?php
include('ichecker/ichecker-api.inc.php');

class OtherController extends Controller{

public $layout='//layouts/column2';

	public function filters()
	{
		return array(
			'accessControl', // perform access control for CRUD operations
			'postOnly + delete', // we only allow deletion via POST request
		);
	}

	public function accessRules()

	{

		return array(

			array('allow',  // allow all users to perform 'index' and 'view' actions

				'actions'=>array('index','view','lrsuccessfull', 'checkkorea','Resultblacklist'),

				'users'=>array('*'),

			),

			array('allow', // allow authenticated user to perform 'create' and 'update' actions

				'actions'=>array('checkimei'),

				'users'=>array('@'),

			),

			array('allow', // allow admin user to perform 'admin' and 'delete' actions

				'actions'=>array('admin','delete', 'checkimei'),

				'users'=>array('admin'),

			),

			array('deny',  // deny all users

				'users'=>array('*'),

			),

		);

	}

	

	public function actionCheckImei(){

		$model = new ImeiForm;
		if (isset($_POST['ImeiForm'])){
			$iduser = UserUtils::getUserId();
			$cre = Credit::model()->findByAttributes(array('iduser'=>$iduser));
			$price = 0.25;
			$model->attributes = $_POST['ImeiForm'];
		if(strlen($model->imei) != 15){
			$model->addError('error', 'IMEI không hợp lệ, vui lòng thử lại');
			$model->error='IMEI không hợp lệ, vui lòng thử lại';
			$check = -1;
		}else if(!is_numeric($model->imei)){
			$model->addError('error', 'IMEI không hợp lệ, vui lòng thử lại');
			$model->error='IMEI không hợp lệ, vui lòng thử lại';
			$check = -1;
		}else{
			if($cre->sodu < $price ){
				$model->error = 'Bạn không đủ credit thực hiện dịch vụ này';
				$model->addError('error', 'Bạn không đủ credit thực hiện dịch vụ này');
				
			}else{
				
				$model->result = '';

				
				$api = new IChecker_API;
				$response = $api->check($model->imei);
				/*print_r($response);die();*/
				if($response['message_code'] == 'MSG_000'){
					$model->error = '';
					$cre->sodu -= $price;
					$cre->dasai += $price;
					$cre->update();
					$model->result = '<pre>'. $response['data']. '</pre>' ;
					//save history
					Checkimeidao::saveCheckimei($model);
					/*echo "alert($model->result);";
					die();*/
				}else if($response['message_code'] == 'MSG_005'){
					$model->error == 'IMEI không hợp lệ, vui lòng thử lại';
					$model->addError('error', 'IMEI không hợp lệ, vui lòng thử lại');
				}else if($response['message_code'] == 'MSG_002'){
					$model->error == 'Server check hiện đang bận do lượng truy cập quá lớn, vui lòng nhấn check lại lần nữa';
					$model->addError('error', 'Server check hiện đang bận do lượng truy cập quá lớn, vui lòng nhấn check lại lần nữa');
				}else if($response['message_code'] == 'MSG_004'){
					$model->error == 'Server Apple hiện đang bảo trì, vui lòng check lại sau';
					$model->addError('error', 'Server Apple hiện đang bảo trì, vui lòng check lại sau');
				}else if(isset($response) && isset($response['message_code'])){
					//$model->error == 'Thao tác không thành công, vui lòng liên hệ mã lỗi '. $response['message_code'] . ' với admin';
					$model->error == 'Rất tiếc, nhưng imei này là dành cho một sản phẩm mà đã được thay thế.';
					$model->addError('error', 'Rất tiếc, nhưng imei này là dành cho một sản phẩm mà đã được thay thế.');
				}else{
					$model->error == 'Server đang bảo trì, quý khách vui lòng quay lại sau';
					$model->addError('error', 'Server đang bảo trì, quý khách vui lòng quay lại sau');	
				}
				}
			}
		}
		
		$this->render('checkimei',array( 'model'=>$model));

	}

	private $korea = 'http://89.137.253.14/korea.php';
	private $australia = 'http://89.137.253.14/ausblock.php';
	private $softbank = 'http://89.137.253.14/softbank.php';
	
	public  function actionCheckKorea(){
		$model = new ImeiForm;
		if(isset($_REQUEST['ImeiForm'])){
			$model->attributes = $_REQUEST['ImeiForm'];
			
			$model->imei = str_replace(" ", "", $model->imei);
			$postdata = "altu=". $model->imei;
			$ch = curl_init();
			curl_setopt($ch,CURLOPT_URL,'http://89.137.253.14/korea.php');
			//curl_setopt($ch,CURLOPT_POST,1); 
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
			curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
			$resultserver = curl_exec($ch);
			$model->result = $resultserver;
		}
		$this->render('checkkorea',array( 'model'=>$model, 'typeapi'=>'korea'));
	}
	
	public  function actionResultblacklist(){
		if(isset( $_REQUEST['imei']) && isset($_REQUEST['typeapi'])){
			$imei =  $_REQUEST['imei'];
			$typeapi=$_REQUEST['typeapi'];
			$apiblacklist ='';
			switch($typeapi){
				case 'korea':
					$apiblacklist=$this->korea;
					break;
				case 'australia':
					$apiblacklist=$this->australia;
					break;
				case 'softbank':
					$apiblacklist=$this->softbank;
					break;
			}
			$imei = str_replace(" ", "", $imei);
			$postdata = "altu=". $imei;
			$ch = curl_init();
			curl_setopt($ch,CURLOPT_URL,$apiblacklist);
			//curl_setopt($ch,CURLOPT_POST,1); 
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
			curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
			$resultserver = curl_exec($ch);
			echo $resultserver;
		}else{
			echo "";
		}
	}
}